#
# miau 0.6.0.2 configuration file example
#	(C) 2003-2005 Tommi Saviranta <wnd@iki.fi>
#

# About structure of this configuration file:
#
# - All parameters are written inside quotes (for example, "foobar")
#
# - Options are defined like: option = "parameter1"[:"parameter2"] ...
#
# - When entering multiparameter options, certain parameters have default
#   values and can be left out.
#
# - When entering multiparameter options and, for example, user doesn't want
#   to set parameter2 at all but he needs to set parameter3, parameter2 can
#   be skipped with column (':') like: "parameter1"::"parameter3".
#
# - Empty lines and characters after '#' (hash) are ignored.
#
# - When setting permissions, switched etc. (switches (booleans) are described
#   as "state"), everything beginning with "t", "r" and "1" are concidered as
#   "true" or "yes" (positive). Everything else is "false" or "no" (negative).



# Required settings
################################################################################


# nicknames = { "nick" }: Your nickname (and secondary nicknames) on IRC.
#
# If the primary nick (first nick on the list) is already on use, miau will try
# the others on the list.
#
# Default: no default
#
# Example:
nicknames = {
	"nslu2miau"
	"nslu2miau_"
}


# realname = "realname": Your "real" name on IRC.
#
# Default: no default
#
# Example:
realname = "I didn't edit my config file"


# username = "username": Your username.
#
# Your ident, matters only if you don't have identd running.
#
# Default: no default
#
# Example:
username = "nslu2miau"


# password = "password": The password miau will expect to receive from client
#		when it's registering with nick.
#
# If this is 13 characters long, miau assumed it's crypted.
#
# If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
# (from command line) with -c -switch.
#
# Default: no default
#
# Example:
#password = "foobar"


# listenport = "port": The port miau will wait for incoming connections.
#
# Default: no default
#
# Example:
listenport = "6667"


# servers = { "server":"port":"password":"timeout" }: miau's IRC-server-list.
#
# Each line represents one server, where timeout is delay in seconds before
# connectiong attempt times out. Only "server" parameter is required.
#
# Default: no default
#
# Example:
servers = {
	"irc.freenode.net":"6667"
}


# connhosts = { "host":"permitted" }: List of hosts that are allowed (or denied)
#		to connect to miau.
#
# When boolean-value is left unset, it is assumed to be "true". This list will
# be processed as a chain which means latter rules can override previous ones.
#
# Default: no default
#
# Example:
#connhosts = {
#	"*":"yes"
#	"client*.evil.net":"no"
#}



# Optional settings
################################################################################


# statelog = "state": Should miau write state log.
#
# When true, log will be written to "$MIAUDIR/log". If set to false, the same
# stuff is printed on stdout (on terminal).
#
# Default: true
#
# Example:
#statelog = "false"


# listenhost = "host": Host miau uses to listen on.
#
# If you are compiled with IPV6 and need this to listen on an IPV4 port, you
# must use an IP in the form ::FFFF:127.0.0.1
#
# Default: no default
#
# Example:
#listenhost = "127.0.0.1"


# floodtimer = "number": Time it takes to send one message.
#
# When configuring flood-protection, this variable defined how fast you can
# send messages; how many seconds sending one message takes. See also burstsize.
#
# Default: 2
#
# Example
#floodtimer = "1"


# burstsize = "number": How manu messages can be sent at once.
#
# When onfiguring flood-protection, this variable defined how many messages
# can be sent at once (in a burst). See also floodtimer.
#
# Default: 5
#
# Example:
#burstsize = "3"


# jointries = "number": Number of tries to join channel after dropping from
#		server etc. miau tries to join channels once a minute.
#
# Default: 30
#
# Example:
#jointries = "1440"


# bind = "host": Host/IP miau uses for outgoing connections.
#
# Default: none
#
# Example:
#bind = "172.16.1.1"


# maxclients = "number": Maximum number of clients connected to miau
#		concurrently.
#
# Set to zero for unlimited clients.
#
# Default: 3
#
#Example:
#maxclients = "1"


# stonedtimeout = "seconds": Time (in seconds) with no data from the server
#		before it is declared stoned and being disconnected.
#
# Although minimum value is 30, this value has no upper limit. Watch out,
# though, if this value is set too high, death of servers may stay undetected
# for a very long time if you are idle.
#
# Default: 90
#
# Example:
#stonedtimeout = "150"


# connecttimeout = "seconds": Time (in seconds) before connection attampt will
#		time out.
#
# Note that while connecting to the server miau will not respond to clients.
# Minimum value is 5, and many systems define maximum value.
#
# Default: 30
#
# Example:
#connecttimeout = "60"


# channels = { "channel":"keyword" }: List of channels to join.
#
# Default: none
#
# Example:
channels = {
	"#nslu2-general"
}


# rejoin = "state": Rejoin channels after disconnecting from the server.
#
# If rejoin is set to true, channels defined in "channels" are also joined when
# client first time connects to miau.
#
# Default: true
#
# Example:
#rejoin = "false"


# leave = "state": Leave channels when all clients have detached from miau.
#
# If "leave" is set to "false" and "rejoin" is set to "true", channels defined
# at "channels" will be joined at miau startup.  If both "leave" and "rejoin"
# is set to "true", channels that are left at client detach, are rejoined when
# client attached back to miau.
#
# Default: false
#
# Example:
#leave = "false"


# leavemsg = "message": Message miau will either use as PART-message or as an
#		ACTION when all clients have detached from miau. 
#
# If unset or set to empty, no message will be shown. Note that many people
# dislike event-based messages (which happens when "leave" is set to "false"
# and "leavemsg" is set). Also see usequitmsg.
#
# Note: Note that commenting this option out and rehashing after leavemsg was
#	set, this option is _not_ reverted. To disable leavemsg afterwards you
#	need to write an empty string here and rehash.
#
# Default: none
#
# Example:
#leavemsg = "doh"


# awaymsg = "message": Text that will be set to miau's away-reason when all
#		clients have detached from miau.
#
# If unset or set to empty, AWAY-status will be left untouched. When any client
# attaches back to miau, AWAY-status will be reset. Also see usequitmsg.
#
# Note: If user sets him/herself away, miau will not touch away-status nor
#	message neither when connecting to or disconnecting from miau.
#
# Note: Note that commenting this option out and rehashing after awaymsg was
#	set, this option is _not_ reverted. To disable awaymsg afterwards you
#	need to write an empty string here and rehash.
#
# Default: none
#
# Example:
#awaymsg = "bouncing around - all private messages will be logged"


# usequitmsg = "state": Use last quit-reason as away-reason and/or leave-message
#		(if respective options are enabled) when all clients have
#		disconnected from miau.
#
# If quit-reason is empty, default values of awaymsg and leavemsg will be used,
# otherwise most recent quit-message overrides values in miaurc.
#
# Default: true
#
# Example:
# usequitmsg = "false"


# autoaway = "selection": miau can set user away automatically.
#
# This option allows to define when to do that. This option may be one of the
# following: "never", "detach", "noclients".
#
# never:	never set user away
# detach:	set user away when any of the clients disconnects
# noclients:	set user away when the last client disconnects
#
# Default: detach
#
# Example:
#autoaway = "noclients"


# chandiscon = "selection": When miau is disconnected from the server e.g.
#		because of network problem, miau can notify user about this in
#		a couple of ways.
#
# nothing:	only print server notice
# notice:	send notice to each channel
# part:		part each channel. mIRC users probably don't want to use this.
# privmsg:	send a private message to the user
#
# Default: part
#
# Example:
#chandiscon = "notice"


# getnick = "selection": miau can try to reclaim your primary nick when it is
#		lost.
#
# This option may be one of the following: "never", "detached", "attached", or
# "always".
#
# never		miau will not try to get your nick back
# detached	miau will try to get your nick when no clients are attached
# attached	miau will try to get your nick when there are one or more
#		clients attached
# always	miau will try to get your nick 
#
# Note: Do _not_ use options "attached" and "always" with clients (like
#	irc-II EPIC) that automatically change your nick when they receive
#	NICKINUSE from the server - you might end up chaning your nick until
#	server drops your connection due excess flood.
#
# Default: detached
#
# Example:
#getnick = "always"


# getnickinterval = "seconds": Time between tries (in seconds) to obtain
#		currently (possibly) lost primary nick.
#
# Don't set it too low or you might get kicked out the server due to excess
# flood.
#
# Default: 60
#
# Example:
#getnickinterval = "30"


# antiidle = "minutes": Time between idle-timer resets in minutes. Set to 0 to
#		disable.
#
# Default: 0
#
# Example:
#antiidle = "300"


# qloglength = "minutes": Age of oldest line in quicklog in minutes. Set to zero
#		to disable quicklog.
#
# This option might not be compiled in.
#
# Default: 30
#
# Example:
#qloglength = "30"


# timestamp = "option": Location of timestamp in quicklog events.
#
# This option may be one of the following "beginning", "end", or "none".
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#timestamp = "beginning"


# flushqlog = "state": Erase quicklog when quicklog is replayed.
#
# If set to true, quicklog will be written only when no clients are connected
# and quicklog will be erased when client connects to miau. If you are running
# a single client, you probably want to leave this to "false.
#
# This option might not be compiled in.
#
# Default: true
#
# Example:
#flushqlog = "true"


# inbox = "state": Enables logging private messages when no clients are
#		connected to miau.
#
# This option might not be compiled in.
#
# Default: true
#
# Example:
#inbox = "true"


# nevergiveup = "state": Don't die when miau runs out of working servers.
#
# If set to true, miau will reset "working"-status of servers to working when
# all are set to dysfunctional.  Respectively, if set to false, miau will quit
# when all servers on the list have been set to dysfunctional.
#
# Default: true
#
# Example:
#nevergiveup = "false"


# norestricted = "state": Don't join servers where you get "+r".
#
# If set to true, miau will not stay on server that forces user to have
# restricted-status (+r).
#
# Default: true
#
# Example:
#norestricted = "false"


# reconnectdelay = "seconds": Time (in seconds) between connection attempts.
#
# Minumun value is set to 1.
#
# Default: 10
#
# Example:
#reconnectdelay = "30"


# nickfillchar = "fill character": Fill nick with this character when unique
#		nick is required.
#
# Character used to modify your primary nick when all defined nicks are already
# occupied. Note character is a single octet (byte) and if longer string is
# fed, only the first character is used.
#
# Example: When nickfillchar is set to '_', primary nick is "zak" and all
#	defined nicks are occupied, next nicks tried are "zak_", "zak__",
#	"zak___" and so on. When nick has grown too long, it will be shifted
#	one characted to right (where shift is cyclic) - this means
#	"zak______" will become "_zak_____", which, again, will become
#	"__zak____".
#
# Default: _
#
# Example:
#nickfillchar = "^"


# maxnicklen = "length": Maximum nick length, used with nickfillchar.
#
# Default: 9
#
# Example:
#maxnicklen = "11"


# usermode = "usermode(s)": Usermode.
#
# Usermode that miau will request (if no clients are attached at the moment)
# from the server when connection to the server is established. Leave unset or
# set to empty to disable this feature.
#
# Default: none
#
# Example:
#usermode = "+i"


# forwardmsg = "command": Commands to pipe private messages to.
#
# miau can collect the (private) messages within three (3) minutes and pipe
# them into the program specified. Leave this unset or set to empty to disable
# this feature.
#
# Default: none
#
# Example:
#forwardmsg = "mail user@host"


# ignore = { "mask":"ignored" }: Ignored users.
#
# List of users whose private messages (PRIVMSG) and noticies (NOTICE) are
# ignored when no clients are attached to miau. When "ignored" is left
# undefined, it is assumed to be "true". Setting "ignored" to "false" means
# that this user will _not_ be ignored. This list is processed as a chain.
#
# Default: none
#
# Example:
#ignore = {
#	"*@localhost":"yes"
#	"zak*":"no"
#}


# privlog = "mode": Log private messages.
#
# Whatever private messages should be logged in nick-specific files. Can be one
# of "never", "detached", "attached", and "always".
#
# This option might not be compiled in.
#
# Default: never
#
# Example:
#privlog = "always"


# chanlog = { "channel(s)":"options":"logfile" }: List of channel logfiles.
#
# When channel is set to "*", line represents global log. When logging,
# if channel doesn't have entry of it's own in this list, it will use settings
# of global log and write log to it's own file. When defining global log,
# "logfile" is ignored. Each line can have multiple channels
# (like "#foobar,#miau").
#
# If logfile is left undefined, logfile will be named after the channel with
# possible postfix (see logpostfix). All lofiles are written in miau's work
# directory.
#
# Options consist of abritary set of following possibilities:
#	j: log joins
#	e: log parts (exits)
#	q: log quits
#	m: log messages (privmsg/notice)
#	c: log mode changes (changes)
#	n: log nick changes
#	o: log misc events (other)
#	b: log messages from miau (bouncer)
#	a: log all of above
#	A: log when a client is attached
#	D: log when a client is detached
#	C: log continuously (status of clients doesn't matter)
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#chanlog = {
#	"#foobar":"a"		# log everything on #foobar
#	"#miau":"aD":"foo.log"	# log everything to file "foo.log" when
#				  all clients are detached
#	"*":"mjeq"		# log only messages, joins, parts and quits
#				  by default
#}


# logpostfix = "postfix": Postfix for logfiles.
#
# When writing log to undefined logfile, each logfile consists of channel name
# followed by postfix. Postfix can be defined here.
#
# This option might not be compiled in.
#
# Default: no postfix
#
# Example:
#logpostfix = ".log"


# onconnect = { "mode":"target/data"(:"data") }: Commands to write at server
#		connect.
#
# When miau connects and registers user to server, miau can send pre-defined
# messages.  User can define miau to send normal messages (PRIVMSG), notices
# (NOTICE) or arbitrary messages.
#
# Mode can be one of the following:
#	p: private message (PRIVMSG).
#	n: notice (NOTICE). Should be used with services and automatons, but
#	   unfortunately some network services can't cope with notices.
#	r: "raw" message. This means user must provide complete message to send
#	   to the server. Using raw message user has complete control over what
#	   is being sent. If you don't know what this is, you don't need this.
# When using modes "p" or "n", user must provide both message and target where
# as with raw messages only one parameter in addition to type should be given.
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#onconnect = {
#	"p":"nickserv":"identify foobar"
#	"n":"nickserv@services.host.net":"id raboof"
#	"r":"OPER foo bar"
#}


# automodes = { "mask":"privilegded" }: List of people who are automatically
#		given certain privilege on channel.
#
# Mask is given in form of "mode:nick!username@host/#channel" (where "mode" is
# a single character) and list is processed as a chain.
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#automodes = {
#	"o:zak*!zak@client*-myisp.com/#channel":"yes"
#	"o:zak*!*@evil.impersonator.net/#foobar":"no"
#	"v:newbie*!*@ircnet.com/#newbie":"yes"
#}


# automodedelay = "seconds": Time (in seconds) after first queued mode change
#		would take effect.
#
# During this period of time miau can collect more than one mode change and
# commit up to three at a time.  Other situation reasonaly big value (like 30)
# here could prove useful is channel where there are stupid "auto-oping" bots.
# (Stupid bots do mode changes even if someone else did that already.)
#
# This option might not be compiled in.
#
# Default: 30
#
# Example:
#automodedelay = "60"


# cmdpasswd = "password": Password for remote commands.
#
# Please ignore this options.
#
# If this is 13 characters long, miau assumes it's crypted. Comment this out or
# leave it empty to disable remote commands. When sending miau a remote
# command, password _always_ begins with column (':') (if cmdpasswd is set to
# "foobar" (or hash of it), you need to send miau a message beginning with
# ":foobar" to issue a remote command).
#
# This feature might not be compiled in.
#
# If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
# (from command line) with -c -switch.
#
# Default: disabled
#
# Example:
#cmdpasswd = ""


# dccbounce = "state": Bounce DDCs.
#
# miau can bounce DCCs. Set to true to enable bouncing.  You probably don't
# need this.
#
# This option might not be compiled in.
#
# Default: false
#
# Example:
#dccbounce = "true"


# dccbindhost = "host": IP to bind for DDC bounce.
#
# If miau has separate IPs for IRC-network and clients, you should enter IP for
# clients here.
#
# This option might not be compiled in.
#
# Default: no default
#
# Example:
#dccbindhost = "10.0.0.1"
